#ifndef _ASSET_CONTROL_UNIT_FILE_
#define _ASSET_CONTROL_UNIT_FILE_

#include "../../../Basic/Containers/Vector/Vector.hpp"

enum ASSET_TYPE {
	_2D,
	_3D,
	SOUND
};
class _ASSET_ {
}typedef Asset,ASSET,*PAsset;
class _2D_ASSET_ : public _ASSET_ {
} typedef _2D_ASSET;
class _3D_ASSET_ : public _ASSET_ {
} typedef _3D_ASSET;
class _SOUND_ASSET_ : public _ASSET_ {
} typedef SOUND_ASSET;

//Basically just a specified wrapper for the Vector Class
class _ASSET_CONTROL_UNIT_ {
public:
	boolean AddAsset(void * Asset, ASSET_TYPE type) {
		switch(type) {
		case _2D:
		case _3D:
		case SOUND:
		default:
		}
	}
private:
	BaseContainers::Vector::PVector<_2D_ASSET_> _2D_Assets;
	BaseContainers::Vector::PVector<_3D_ASSET_> _3D_Assets;
	BaseContainers::Vector::PVector<SOUND_ASSET> Sound_Assets;
	BaseContainers::Vector::PVector<ASSET> Extra_Assets;
	PVector * AllAssets = {
		_2D_Assets,
		_3D_Assets,
		Sound_Assets
	};
} typedef ASSET_CONTROL_UNIT,* PASSET_CONTROL_UNIT;

#endif